package com.zwh.modules.hzlog.dto;

import com.zwh.common.utils.excel.annotation.ExcelField;

import java.util.Date;

/**
 * 地图展示--汇总分析页面
 * 合同数据统计传输类
 * 单位万元
 */
public class ContractTotalDto {
//    @ExcelField(title="id", attrName="id", align= ExcelField.Align.LEFT, sort=10)
    private String id;  // 1合同id
    @ExcelField(title="所属部门", attrName="officeName", align= ExcelField.Align.LEFT, sort=20)
    private String officeName; // 2所属部门
    @ExcelField(title="合同名称", attrName="contractName", align= ExcelField.Align.LEFT, sort=30)
    private String contractName; // 3合同名称
    // ==================合同指标（万元）
    // =====待定合同金额
    /**
     * 4意向金额;
     * 建了合同未审核通过的合同总额
     */
    @ExcelField(title="意向金额", attrName="interestMoney", align= ExcelField.Align.LEFT, sort=31)
    private Double interestMoney;
    /**
     * 5待签金额;
     * 合同未审核通过，项目已建立的合同总额<br/>
     * 指项目（不走招标程序）已实际正式开展或者合同已正在签订中所对应的项目金额
     */
    @ExcelField(title="待签金额", attrName="unSingMoney", align= ExcelField.Align.LEFT, sort=33)
    private Double unSingMoney;

    // =====已签合同金额
    /**
     * 6合同余额;
     * 财务年份为大于等于今年的金额总和（含未做分期的金额）<br/>
     * 指的是2019年1月1日以后未收齐款项目，扣除2018年1月1日前已经收款的合同余额，含已中标合同未签订金额。
     */
    @ExcelField(title="合同余额", attrName="contractRemainMoney",dataFormat="yyyy-MM-dd", align= ExcelField.Align.LEFT, sort=40)
    private Date contractRemainMoney;
    /**
     * 7合作费;
     * 合作费总额减去今年以前创建的合作费记录<br/>
     * 仅指对外合作费，部门间不算
     */
    @ExcelField(title="合作费", attrName="cooperationMoney", align= ExcelField.Align.LEFT, sort=50)
    private String cooperationMoney;
    /**
     * 8净合同余额;合同余额（扣除合作费后）;
     * 合同余额-合作费
     *
     */
    @ExcelField(title="净合同余额", attrName="netContractRemainMoney", align= ExcelField.Align.LEFT, sort=60)
    private String netContractRemainMoney;
    /**
     * 9跨年度项目金额;
     * 财务年份大于当年的金额总和<br/>
     * 指连续签订几年合同，在2019年12月31日之后执行的合同金额，需扣除合作费
     * 有创建分期的，然后年份是大于今年的金额。
     */
    @ExcelField(title="跨年项目金额", attrName="crossYearProjectMoney", align= ExcelField.Align.LEFT, sort=70)
    private String crossYearProjectMoney;

    /**
     * 10当年合同净余额;
     * 合同余额（扣除合作费后）-跨年项目金额<br/>
     * netContractRemainMoney-crossYearProjectMoney<br/>
     * 本年度合同净余额
     */
    @ExcelField(title="当年合同净余额", attrName="currentYearNetContractRemainMoney", align= ExcelField.Align.LEFT, sort=80)
    private String currentYearNetContractRemainMoney;

    /**
     * 11剩余可执行合同净余额;
     * 本年度未到账合同净余额<br/>
     * 本年度合同净余额-本年度已到账净额
     */
    @ExcelField(title="剩余可执行合同净余额", attrName="netRemainExecuteMoney", align= ExcelField.Align.LEFT, sort=90)
    private String netRemainExecuteMoney;

    /**
     * 12当年新签;
     * 本年度新签合同金额<br/>
     * 2018年1月1日之后签的合同金额，含已中标合同未签订金额。
     */
    @ExcelField(title="当年新签", attrName="currentYearNewContractMoney", align= ExcelField.Align.LEFT, sort=92)
    private String currentYearNewContractMoney;

    /**
     * 13当年应到账;
     * 本年度应收账款<br/>
     * 财务年份为当年的合同金额-本年度添加的合作费用;
     * 指根据合同约定应该收到的项目款项，需扣除合作费用
     * 合同分期为今年的。 减去合作费为今年的 就是 当年应到账
     */
    @ExcelField(title="当年应到账", attrName="currentYearShouldReceiveMoney", align= ExcelField.Align.LEFT, sort=100)
    private String currentYearShouldReceiveMoney;


    // =====================到账指标
    /**
     * 14已到账金额;
     * 本年度已到账金额<br/>
     * 实际到账金额
      *   财务年份是今年，到账状态为已到账。
     */
    @ExcelField(title="已到账金额", attrName="currentYearReceivedMoney", align= ExcelField.Align.LEFT, sort=110)
    private String currentYearReceivedMoney;

    /**
     * 15当年已付合作费;
     * 本年度总合作费用<br/>
      *     当年的合作费，合作费状态 :已付款
     */
    @ExcelField(title="当年已付合作费", attrName="currentYearPaidCooperationMoney", align= ExcelField.Align.LEFT, sort=120)
    private String currentYearPaidCooperationMoney;

    /**
     * 16当年已到账净额;
     * 本年度总合作费用<br/>
     * 已到账金额-当年已付合作费
     * currentYearReceivedMoney - currentYearPaidCooperationMoney
     */
    @ExcelField(title="当年已到账净额", attrName="netCurrentYearReceivedMoney", align= ExcelField.Align.LEFT, sort=130)
    private String netCurrentYearReceivedMoney;

    /**
     * 17已开发票金额;
     * 已开票金额汇总<br/>
     */
    @ExcelField(title="已开发票金额", attrName="createdBillContractMoney", align= ExcelField.Align.LEFT, sort=140)
    private String createdBillContractMoney;

    /**
     * 18已开发票未到账金额;
     * 已开发票未到账金额汇总<br/>
     */
    @ExcelField(title="已开发票未到账金额", attrName="createdBillUnReceivedContractMoney", align= ExcelField.Align.LEFT, sort=150)
    private String createdBillUnReceivedContractMoney;

    /**
     * 19未开发票未到账金额;
     * 未开发票未到账金额汇总<br/>
     */
    @ExcelField(title="未开发票未到账金额", attrName="unCreatedBillUnReceivedContractMoney", align= ExcelField.Align.LEFT, sort=160)
    private String unCreatedBillUnReceivedContractMoney;

    /**
     * 20到账率;
     * 已到账金额/当年应到账<br/>
     * currentYearReceivedMoney / currentYearShouldReceiveMoney
     */
    @ExcelField(title="到账率", attrName="receivedRate", align= ExcelField.Align.LEFT, sort=170)
    private String receivedRate;


    public Double getInterestMoney() {
        return interestMoney;
    }

    public void setInterestMoney(Double interestMoney) {
        this.interestMoney = interestMoney;
    }

    public Double getUnSingMoney() {
        return unSingMoney;
    }

    public void setUnSingMoney(Double unSingMoney) {
        this.unSingMoney = unSingMoney;
    }

    public String getCurrentYearNewContractMoney() {
        return currentYearNewContractMoney;
    }

    public void setCurrentYearNewContractMoney(String currentYearNewContractMoney) {
        this.currentYearNewContractMoney = currentYearNewContractMoney;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getOfficeName() {
        return officeName;
    }

    public void setOfficeName(String officeName) {
        this.officeName = officeName;
    }

    public String getContractName() {
        return contractName;
    }

    public void setContractName(String contractName) {
        this.contractName = contractName;
    }

    public Date getContractRemainMoney() {
        return contractRemainMoney;
    }

    public void setContractRemainMoney(Date contractRemainMoney) {
        this.contractRemainMoney = contractRemainMoney;
    }

    public String getCooperationMoney() {
        return cooperationMoney;
    }

    public void setCooperationMoney(String cooperationMoney) {
        this.cooperationMoney = cooperationMoney;
    }

    public String getNetContractRemainMoney() {
        return netContractRemainMoney;
    }

    public void setNetContractRemainMoney(String netContractRemainMoney) {
        this.netContractRemainMoney = netContractRemainMoney;
    }

    public String getCrossYearProjectMoney() {
        return crossYearProjectMoney;
    }

    public void setCrossYearProjectMoney(String crossYearProjectMoney) {
        this.crossYearProjectMoney = crossYearProjectMoney;
    }

    public String getCurrentYearNetContractRemainMoney() {
        return currentYearNetContractRemainMoney;
    }

    public void setCurrentYearNetContractRemainMoney(String currentYearNetContractRemainMoney) {
        this.currentYearNetContractRemainMoney = currentYearNetContractRemainMoney;
    }

    public String getNetRemainExecuteMoney() {
        return netRemainExecuteMoney;
    }

    public void setNetRemainExecuteMoney(String netRemainExecuteMoney) {
        this.netRemainExecuteMoney = netRemainExecuteMoney;
    }

    public String getCurrentYearShouldReceiveMoney() {
        return currentYearShouldReceiveMoney;
    }

    public void setCurrentYearShouldReceiveMoney(String currentYearShouldReceiveMoney) {
        this.currentYearShouldReceiveMoney = currentYearShouldReceiveMoney;
    }

    public String getCurrentYearReceivedMoney() {
        return currentYearReceivedMoney;
    }

    public void setCurrentYearReceivedMoney(String currentYearReceivedMoney) {
        this.currentYearReceivedMoney = currentYearReceivedMoney;
    }

    public String getCurrentYearPaidCooperationMoney() {
        return currentYearPaidCooperationMoney;
    }

    public void setCurrentYearPaidCooperationMoney(String currentYearPaidCooperationMoney) {
        this.currentYearPaidCooperationMoney = currentYearPaidCooperationMoney;
    }

    public String getNetCurrentYearReceivedMoney() {
        return netCurrentYearReceivedMoney;
    }

    public void setNetCurrentYearReceivedMoney(String netCurrentYearReceivedMoney) {
        this.netCurrentYearReceivedMoney = netCurrentYearReceivedMoney;
    }

    public String getCreatedBillContractMoney() {
        return createdBillContractMoney;
    }

    public void setCreatedBillContractMoney(String createdBillContractMoney) {
        this.createdBillContractMoney = createdBillContractMoney;
    }

    public String getCreatedBillUnReceivedContractMoney() {
        return createdBillUnReceivedContractMoney;
    }

    public void setCreatedBillUnReceivedContractMoney(String createdBillUnReceivedContractMoney) {
        this.createdBillUnReceivedContractMoney = createdBillUnReceivedContractMoney;
    }

    public String getUnCreatedBillUnReceivedContractMoney() {
        return unCreatedBillUnReceivedContractMoney;
    }

    public void setUnCreatedBillUnReceivedContractMoney(String unCreatedBillUnReceivedContractMoney) {
        this.unCreatedBillUnReceivedContractMoney = unCreatedBillUnReceivedContractMoney;
    }

    public String getReceivedRate() {
        return receivedRate;
    }

    public void setReceivedRate(String receivedRate) {
        this.receivedRate = receivedRate;
    }

}
